#ifndef ck_string_h__
#define ck_string_h__

//Copy one string into another. 
SK_WCHAR *SK_strcpy (SK_WCHAR *dest,const SK_WCHAR *src);

//Compare string1 and string2 to determine alphabetic order. 
SK_INT32 SK_strcmp(const SK_WCHAR *string1,const SK_WCHAR *string2);

//Determine the length of a string. 
SK_INT32 SK_strlen(const SK_WCHAR *string);

//Append string2 to stringl. 
SK_WCHAR *SK_strcat(SK_WCHAR *string1, const SK_WCHAR *string2);

//Append n characters from string2 to stringl. 
SK_WCHAR *SK_strncat(SK_WCHAR *string1, const SK_WCHAR *string2, SK_INT32 count);

//Compare first n characters of two strings. 
SK_INT32 SK_strncmp(const SK_WCHAR *string1, const SK_WCHAR *string2, SK_INT32 n);

//Copy first n characters of string2 to stringl .
SK_WCHAR *SK_strncpy(SK_WCHAR *string1,const SK_WCHAR *string2, SK_INT32 n);

//case insensitive version of strcmp()
SK_INT32 SK_strcasecmp(const SK_WCHAR *s1, const SK_WCHAR *s2);

//case insensitive version of strncmp(). 
SK_INT32 SK_strncasecmp(const SK_WCHAR *s1, const SK_WCHAR *s2, int n);

//////////////////////////////////////////////////////////////////////////
//Find first occurrence of character c in string. 
SK_WCHAR *SK_strchr(SK_WCHAR *string, SK_WCHAR c);

//Find last occurrence of character c in string. 
SK_WCHAR *SK_strrchr(SK_WCHAR *string, SK_WCHAR c);

//locates the first occurrence of the string s2 in string s1. 
SK_WCHAR *SK_strstr(SK_WCHAR *s1, const SK_WCHAR *s2); 

//locate the first occurrence of the string s2 in string s1. 
SK_INT32 SK_strindex(SK_WCHAR *s1, const SK_WCHAR *s2);
//remove some chars from s1,begin from start(include),end by endy(exclude)
void SK_strdelete(SK_WCHAR *s1,SK_INT32 start,SK_INT32 endy);


//////////////////////////////////////////////////////////////////////////

SK_WCHAR SK_tolower(SK_WCHAR c);
SK_WCHAR SK_toupper (SK_WCHAR c);
SK_WCHAR *SK_itow(SK_INT32 value, SK_WCHAR *string, SK_INT32 radix);
SK_INT32 SK_wtoi(const SK_WCHAR *s);

//////////////////////////////////////////////////////////////////////////
SK_INT32 SK_wsprintf(SK_WCHAR *buffer, const SK_WCHAR *format , ...);
//include pos
SK_INT32 SK_strright(const SK_WCHAR *src, SK_INT32 pos,SK_WCHAR *dst,SK_INT32 dstLen);
//exclude pos
SK_INT32 SK_strleft(const SK_WCHAR *src, SK_INT32 pos,SK_WCHAR *dst,SK_INT32 dstLen);
SK_INT32 SK_substr(const SK_WCHAR *src, SK_INT32 pos,SK_INT32 len,SK_WCHAR *dst,SK_INT32 dstLen);
#endif // ck_string_h__

